home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 February / EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso / enigma / earcd / comm / comm1 / cnet_bak.lha / cnetamigabackup / CNetBackUpA < prev   
Text File  |  1997-01-15  |  6KB  |  142 lines

  1. /**************************************************************************\
  2.    $VER: CNet Amiga BackUpA; Amaint Module, v3.00 (15-Jan-97) by Dotoran!
  3. \**************************************************************************/
  4. options results;signal on SYNTAX;signal on ERROR;signal on IOERR
  5. ver=word(sourceline(2),7);a=word(sourceline(2),8);parse var a "("vdate")"
  6. tr=transmit;se=sendstring;gc=getchar;gu=getuser;gs=getscratch;mg=maygetchar
  7. a="rexxsupport.library";if ~show("l",a) then if ~addlib(a,0,-30) then exit
  8.  
  9. tim=date(s);c=0;changewhere "CNet BackUpA"
  10. gu 1100454;more=result;setobject 0;putuser 1100454
  11. gu 1311992;df=result;fn=df"CNetBackUp.";cfg=fn"CFG"
  12.  
  13. tr "f1n1z4cer1 CNet Amiga BackUp, "ver" AMaint z0r0n1"
  14.  
  15. if ~exists(cfg) then do
  16.   tr "cb`ca"df"CNetBackUp.CFGcb' c6was c9NOT c6found.";exit;end
  17. else call READCONFIG
  18.  
  19. do i=1 to files
  20.   if tim-tim.i>=day.i then do;c=c+1;bn.c=i;end
  21.   file.i=overlay(tim,file.i,1)
  22. end i;call SAVECONFIG
  23.  
  24. if c=0 then do;tr "caNothing c6to cbBackUp c6tonight.";exit;end
  25.  
  26. do z=1 to c
  27.   file=bn.z ; call READFILE
  28.   badflop=0;tem=tem.file;des=des.file
  29.   bname="CNetBackUp_"ext.file".LHA"
  30.  
  31.   tr "z4cer1 Backing Up CNet Using `"nam.file"' File z0r0n1"
  32.  
  33.   zz=pragma("w","n");a=exists(des);zz=pragma("w")
  34.   if a=0 then do;des=df;for.file=0;badflop=1;end
  35.  
  36.   if exists(des||bname) then do
  37.     address command 'PROTECT "'des||bname'" d'
  38.     address command 'DELETE "'des||bname'"';end
  39.  
  40.   mi=0;miF.=0;fi=1;fi.=""
  41.   do i=1 to total ; fn=fn.i
  42.     tr "cf[z0car1 Testing File r0cf> ca"fn
  43.     if ~exists(fn) then do
  44.       tr "cf[z5cb Missing File z0> cd"fn
  45.       mi=mi+1;mi.mi=fn;iterate i;end
  46.  
  47.     if dir.a then do
  48.       f1=pos(":",fn);d1=left(fn,f1-1);fn=substr(fn,f1+1)
  49.       if ~exists(tem||d1) then do
  50.         tr "cf[z0c9r1 Creating Dir r0cf> c9"d1
  51.         address command 'MAKEDIR "'tem||d1'"';end
  52.       do j=1 until f1=0;f1=pos("/",fn)
  53.         if f1>0 then do;d1=d1"/"left(fn,f1-1);fn=substr(fn,f1+1);end
  54.         if ~exists(tem||d1) then do
  55.           tr "cf[z0c9r1 Creating Dir r0cf> c9"d1
  56.           address command 'MAKEDIR "'tem||d1'"';end
  57.       end j
  58.       tr "cf[z0cbr1 Copying File r0cf> cb"fn.i
  59.       address command 'COPY "'fn.i'" "'tem||d1'/'fn'"'
  60.     end
  61.     else do
  62.       if length(tem||bname||fi.fi||fn)+26<=150 then fi.fi=fi.fi" "fn
  63.         else do;fi=fi+1;fi.fi=fi.fi" "fn;end
  64.     end
  65.   end i
  66.  
  67.   file.file=overlay(tim,file.file,1);call SAVECONFIG
  68.  
  69.   if badflop=0 & for.file>0 then do
  70.     tr "cf[z0ccr1 Formatting.. r0cf> cc"des"  cf(cc"word("FULL QUICK",for.file)"cf)"
  71.     form="";if for.file=2 then form="QUICK"
  72.     tr "#4FORMAT <nil: drive "des" name CNetBackUps NOICONS "form" FFS}";end
  73.  
  74.   if exists(tem||bname) then do;a=tem||bname;c=2
  75.     do until ~exists(tem||a);a=left(bname,length(bname)-4)"_"c".LHA";c=c+1;end
  76.     tr "cf[z0cer1 LHA Exists...r0cf> c6renamed as cb`ca"a"cb'"
  77.     address command 'rename "'tem||bname'" "'tem||a'"';end
  78.  
  79.   tr "cf[z0cer1 Packing File r0cf> ce"bname"n1"
  80.   temp=tem;if bac.file then temp=des
  81.   if dir.file then tr "#4LHA -r -e -x -2 -D2 a "temp||bname" "tem"#?}"
  82.   else do
  83.     do i=1 to fi 
  84.       tr "#4LHA -r -e -x -2 -D2 a "tem||bname" "fi.i"}"
  85.     end i
  86.   end
  87.   if ~bac.file then do
  88.  
  89.     if exists(des||bname) then do;a=des||bname;c=2
  90.       do until ~exists(des||a);a=left(bname,length(bname)-4)"_"c".LHA";c=c+1;end
  91.       tr "cf[z0cer1 LHA Exists...r0cf> c6renamed as cb`ca"a"cb'"
  92.       address command 'rename "'des||bname'" "'tem||a'"';end
  93.  
  94.     tr "cf[z0cdr1 Copying File r0cf> cd"bname
  95.     address command 'COPY "'tem||bname'" "'des||bname'"'
  96.   end
  97.   d=date("s");da=left(date("w",d,"s"),3)"., "date("m",d,"s")" "strip(substr(d,7,2),"l","0")", "left(d,4)" @ "time("c")
  98.   com="CNet Amiga BackUp, "ver" Created on "da
  99.   address command 'FILENOTE "'des||bname'" "'com'"'
  100.   address command 'PROTECT "'des||bname'" re'
  101.  
  102.   if dir.file then tem=tem.file
  103.  
  104.   tr "cf[z0c6r1 Cleaning Up! r0cf> c6"tem
  105.   address command "DELETE "tem"#? ALL"
  106.  
  107.   log=left(bname,length(bname)-4)
  108.   se "#4LHA t >sysdata:log/"log" "des||bname"}"
  109.   call open(f1,"sysdata:log/"log,"a")
  110.     call writeln(f1,"");call writeln(f1,com)
  111.     if badflop=1 then do
  112.       call writeln(f1,"")
  113.       call writeln(f1,"No Floppy in DESTINATION DRIVE, so archive was stored in "df)
  114.     end
  115.   call close(f1)
  116.   tr "cf[z0cbr1 SysMail Sent r0cf> c6CNet BackUp: "log
  117.   loadeditor "sysdata:log/"log;setmailsubj "CNet BackUp: "log;writemail 1;cleareditor
  118.   if mi>0 then do;call open(f1,"ram:cnetbackup","w")
  119.     call writeln(f1,"The following files were MISSING from the `"nam.file"' backup file, so were NOT backed up:n1")
  120.     do zz=1 to mi;call writeln(f1,mi.zz);end zz;call writeln(f1,"n1"com);call close(f1)
  121.     loadeditor "ram:cnetbackup";setmailsubj "Missing BackUp Files Alert!";writemail 1;cleareditor
  122.     address command "DELETE ram:cnetbackup";end
  123. end z
  124.  
  125.   tr "z4cer1 CNet Amiga BackUp AutoMaint Complete! z0r0"
  126.   setobject more;putuser 1100454;exit
  127.  
  128. SAVECONFIG:;call open(f1,cfg,"w");call writeln(f1,files)
  129.   do i=1 to files;call writeln(f1,file.i);end i;call writeln(f1,drives);call close(f1);save=0
  130.  
  131. READCONFIG:;call open(f1,cfg,"r");files=readln(f1);do i=1 to files;file.i=readln(f1)
  132.   parse var file.i tim.i"|"ext.i"|"nam.i"|"tem.i"|"des.i"|"day.i"|"dir.i"|"bac.i"|"for.i"|"j;end i;drives=readln(f1);call close(f1);return
  133.  
  134. READFILE:;call open(f1,fn||ext.file,"r");do i=1 until eof(f1);fn.i=readln(f1);end i;call close(f1);total=i-1;return
  135. SYNTAX:;ERROR:;IOERR:;e1="n1 Error: "rc" ("errortext(rc)")"
  136.   e2="  Line: "left(sigl,4)"File:";gu 1311992;a=result;gu 1311960
  137.   b=result;c='"'a||b", "ver'"';e2=e2" "c;tr e1;tr e2;logentry e1
  138.   logentry e2;e=strip(translate(sourceline(sigl),"\{",""));do while e~=""
  139.   e3="Source: "left(e,37);tr e3;logentry e3;e=substr(e,38);end;bufferflush
  140. /**************************************************************************\
  141. \****************************************** Frontiers BBS (716)/823-9892 **/
  142.